You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: 0.5.0 task 02 - GitHub Action for score
* feat: 0.5.0 task 03 - agent skill
Ship the portable agent skill that scores the user's current repo locally
and recommends a model class. Self-contained: vendored scorer, no service
dependency, works offline — same property as task 02's PR-diff Action.
- Sibling repo `agent-friendly-skill` (v0.1.1, floats `v0`) ships SKILL.md
+ ncc-bundled dist/index.js. Vendored into this repo via
`npx skills add hsnice16/agent-friendly-skill#v0`; skills-lock.json pins
ref + content hash so the bundle is reproducible.
- New /skill SEO landing page: install command, score → model mapping,
optional SessionStart hook snippets for Claude Code + Codex, FAQ, and
JSON-LD (BreadcrumbList + SoftwareApplication + FAQPage).
- README "Public API" section documents /api/score for external integrators
(siblings vendor the scorer; they don't call this at runtime).
- AGENTS.md "Sibling repos" mirror discipline now covers both action and
skill; SIBLING_VERSION in lib/version.ts is the single-source pin that
drives ACTION_USES, SKILL_INSTALL_CMD, and the #v0 ref in skills-lock.json.
- Layout footer reorganised into Primary + Tools columns; nav surfaces
/action and /skill; sitemap and /llms.txt include /skill.
- Panel + CopySnippet gain a tone vocabulary (warn / info / tip) so the
install card, hook snippets, and per-page CTAs share styling.
- Bundled along: gitignore-aware size signal (uses ignore@7.0.5), tests
for both .gitignore patterns and the baseline ignore set.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat: version 0.5.0
Release prep: bump version (lib/version.ts, package.json, README badge),
add changelog entry summarising the score-diff GitHub Action and the
portable agent skill, mark tasks/0.5.0 done and drop the descoped
history-aware-signals task, prune 0.5.0 from the live roadmap.
Also lands SEO breadcrumbs on About/Changelog/Methodology/Packages/Roadmap
via a shared BreadcrumbJsonLd component, extends sitemap with package
routes, surfaces top scored packages per registry in /llms.txt, and
refreshes the SessionStart hook + cross-repo mirroring note on the
feature-request template.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/feature_request.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,8 +28,8 @@ _Tick whichever applies:_
28
28
29
29
_Tick whichever applies:_
30
30
31
-
-[ ]**New signal** — see "Adding a signal" in [AGENTS.md](../../AGENTS.md). Mirrors to the sibling `agent-friendly-action`repo.
32
-
-[ ]**New model** — see "Adding a model" in [AGENTS.md](../../AGENTS.md). Mirrors to the sibling repo.
31
+
-[ ]**New signal** — see "Adding a signal" in [AGENTS.md](../../AGENTS.md). Mirrors to **both** sibling repos (`agent-friendly-action`and `agent-friendly-skill`).
32
+
-[ ]**New model** — see "Adding a model" in [AGENTS.md](../../AGENTS.md). Mirrors to **both** sibling repos.
33
33
-[ ]**New host** — see "Adding a host" in [AGENTS.md](../../AGENTS.md).
34
34
-[ ]**New / changed API route** — `/api/...`. Note breaking-change implications for action + agent-skill consumers.
- We `git clone --depth 1 --single-branch` arbitrary URLs — safe by default. We never run post-clone scripts, never `npm install`, never execute code from the clone.
214
214
- SQL: all queries parameterised. No interpolation.
215
-
- HTML: React auto-escapes. The only `dangerouslySetInnerHTML` is server-built JSON-LD with `<` escaped to `<` (`app/layout.tsx`, `app/page.tsx`, `app/action/page.tsx`, `app/skill/page.tsx`, `app/methodology/page.tsx`, `app/repo/[id]/page.tsx`, `app/package/[registry]/[name]/page.tsx`); never feed user-controlled strings into it.
215
+
- HTML: React auto-escapes. The only `dangerouslySetInnerHTML` is server-built JSON-LD with `<` escaped to `<` (`app/layout.tsx`, `app/page.tsx`, `app/about/page.tsx`, `app/action/page.tsx`, `app/skill/page.tsx`, `app/methodology/page.tsx`, `app/package/[registry]/[name]/page.tsx`, `app/repo/[id]/page.tsx`, plus the `BreadcrumbJsonLd` component used by About / Changelog / Methodology / Packages / Roadmap); never feed user-controlled strings into it.
216
216
- Local-path mode reads files; never writes outside `data/` and the clone workspace passed to `shallowClone`.
217
217
- No auth yet (read-only dashboard). When auth lands (`tasks/0.7.0/01-opt-out-claim-flow.md`), do it via OAuth and gate DB writes per user.
@@ -110,7 +110,7 @@ Run the unit tests with `bun run test` (uses `node --test` + `tsx`; requires Nod
110
110
111
111
## Versioning
112
112
113
-
`lib/version.ts` and `package.json` carry the current release number (currently **0.4.0**). Bumps happen only when we actually cut a release — never when merging intermediate work. The version pill in the header surfaces the number directly; `/changelog` lists what each release shipped.
113
+
`lib/version.ts` and `package.json` carry the current release number (currently **0.5.0**). Bumps happen only when we actually cut a release — never when merging intermediate work. The version pill in the header surfaces the number directly; `/changelog` lists what each release shipped.
114
114
115
115
## Stack & rationale
116
116
@@ -121,7 +121,7 @@ Run the unit tests with `bun run test` (uses `node --test` + `tsx`; requires Nod
121
121
|**Tailwind CSS 4**| Zero-config via `@theme` tokens, no `tailwind.config.*` needed. Tight bundle output. | Would only leave for something with a stronger design-system story. |
122
122
|**`better-sqlite3`**| Single file, inspectable, zero ops overhead. Node-native so Vercel's serverless runtime can load it directly. | Postgres when concurrent writers / access control arrive (`tasks/1.0.0/01-postgres-migration.md`). |
123
123
|**Server-first; client islands where needed**| Cheap, fast, SEO-friendly. Client components only where interactivity demands — mobile nav, search, selects, copy, back-to-top. | When client islands grow past presentational interactivity → reach for client state mgmt. |
124
-
|**Shallow git clones** (`--depth 1 --single-branch`) | Bandwidth + speed. Current signals don't need history. |History-aware signals → host APIs or `--filter=blob:none` partial clones.|
124
+
|**Shallow git clones** (`--depth 1 --single-branch`) | Bandwidth + speed. Current signals don't need history. |If commit-history ever enters scoring → host APIs or `--filter=blob:none` partial clones. |
125
125
|**Exact-pinned deps**| Deterministic scoring across environments. | Never. |
126
126
|**One file per signal**| Each signal is a small, independent concern — keeps `git log` and code review focused. | When we bundle signals into dynamic checks (then the unit becomes the bundle). |
127
127
@@ -193,7 +193,6 @@ See `/roadmap` in the running app or the per-version `tasks/` folders for the fu
193
193
194
194
Versions are sequenced cheap-first so the highest-impact small additions don't get gated on heavy infra:
195
195
196
-
-**0.5.0 — quick wins**: history-aware signals (maintenance recency, commit velocity, contributor activity) + a GitHub Action that comments the score delta on every PR + a portable agent skill (profiles 8 agents — Claude Code, Cursor, Devin, GPT-5 Codex, Gemini CLI, Aider, OpenHands, Pi; installs into any vercel-labs/skills host) that scores the user's current repo locally and recommends a model. Skill ships as a sibling repo with the scorer vendored — same self-contained property as the action. No new infra.
197
196
-**0.6.0 — auto-refresh + smarter matching**: webhook-driven rescoring (keep scores fresh on every push) + alternatives via README embeddings (cross-language matches the v0.3.0 SQL heuristic misses).
198
197
-**0.7.0 — maintainer ownership + at-scale discovery**: OAuth opt-out / claim flow for maintainers + at-scale package overlay (per-registry leaderboards + userscript that renders the badge inline on npmjs.com / PyPI / crates.io).
199
198
-**1.0.0 — production cut**: Postgres migration for concurrent writers + auto-discovered crawl (target 10k repos) + benchmark harness that derives per-model weights from measured agent success. From here on, breaking API changes require a MAJOR bump.
"What's shipped in each release of Agent Friendly Code — user-facing capabilities, not internal churn. Every bullet corresponds to a roadmap item that landed.",
- [Agent Friendly Action](${ACTION_REPO_URL}): GitHub Action that posts a per-PR score-delta comment — runs entirely inside the maintainer's CI, opt-in via \`AGENTS_BADGE_TOKEN\`, listed on the GitHub Marketplace
53
70
- [Agent Friendly Skill](${SKILL_REPO_URL}): Portable agent skill (Claude Code, Codex, Cursor, Cline, Copilot, …) installable via \`${SKILL_INSTALL_CMD}\` — scores the user's current repo locally, no service dependency
"How scores are computed today: the signals checked, the per-model weight profiles, the scoring formula, and what the static-heuristic approach deliberately doesn't measure yet.",
0 commit comments