chore(ai-workflow): track repo-managed review tooling (#1046)

* chore(ai-workflow): track repo-managed review tooling

* fix(ai-workflow): remove repo-specific path assumptions

Make shared workflow hooks and APK testing guidance resolve paths from the repo and contributor environment so the tooling works for all contributors, not just one machine.
This commit is contained in:
Tommaso Casaburi
2026-03-10 15:49:15 +08:00
committed by GitHub
parent 878d0ee70b
commit a92b185a66
197 changed files with 20785 additions and 3 deletions
+87
View File
@@ -0,0 +1,87 @@
---
name: deslop
description: Scan recent changes for AI-generated code slop and remove it. Use when the user says "deslop", "remove slop", "clean up AI code", or asks to remove AI-generated artifacts from the codebase.
disable-model-invocation: true
---
# Remove AI Code Slop
Scan the diff against main and remove AI-generated slop introduced in this branch.
## Workflow
1. **Get the diff**
```bash
git diff main...HEAD
```
If there are also uncommitted changes, include them:
```bash
git diff main
```
2. **Scan each changed file** for the slop categories below
3. **Fix** each instance — remove or rewrite to match the surrounding code style
4. **Verify** the build still passes:
```bash
yarn build && yarn lint && yarn type-check
```
5. **Report** a 1-3 sentence summary of what you changed
## Slop Categories
### Unnecessary comments
AI loves adding comments that restate the code. Remove comments that a human wouldn't write. Keep comments that explain *why* — domain reasoning, constraints, trade-offs, or non-obvious intent.
```typescript
// ❌ Slop — restates the code
const [count, setCount] = useState(0); // Initialize count state to 0
// ❌ Slop — obvious from context
// Fetch the user data
const user = useComment({ commentCid });
// ✅ Keep — explains non-obvious intent
// bitsocial-react-hooks returns undefined while loading, null if not found
const isLoading = comment === undefined;
```
### Excessive defensive checks
AI adds try/catch blocks and null guards everywhere, even on trusted codepaths. Remove guards that the surrounding code doesn't need.
```typescript
// ❌ Slop — bitsocial-react-hooks already handles errors internally
try {
const { feed } = useFeed({ subplebbitAddresses });
} catch (error) {
console.error('Failed to fetch feed:', error);
}
// ✅ Clean — just use the hook directly
const { feed } = useFeed({ subplebbitAddresses });
```
### `as any` casts
AI casts to `any` to bypass type errors instead of fixing the actual types. Remove the cast and fix the underlying type issue.
### Inconsistent style
Any pattern that doesn't match the rest of the file: different naming conventions, different import ordering, unnecessary abstractions, or overly verbose code where the file is concise.
### Over-engineering
AI tends to add unnecessary abstractions, utility functions, or wrapper components that obscure simple logic. If a one-liner was wrapped in a helper, unwrap it.
## Judgment Call: When to Keep Comments
Comments are necessary when code expresses:
- Non-obvious intent or domain-specific reasoning
- Constraints that aren't apparent from the implementation
- Trade-offs or "why not X" decisions
- Workarounds with context on when they can be removed
When in doubt, check if similar code nearby has comments. Match the file's existing comment density.