Creator · sasjs
Last updated · Sep 2, 2026
Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions.
Creator · sasjs
Last updated · Sep 2, 2026
Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions.
Creator · sasjs
Last updated · Sep 2, 2026
Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions.
Creator · sasjs
Last updated · Sep 2, 2026
Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions.
Do not auto-install
Install targets
Codex install prompt
Install the "sas" agent skill from https://github.com/sasjs/skills/tree/main/sas. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"sasjs-skills-sas","task":"Install sas","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add sasjs/skills --skill sas
Maintenance
fresh
7d since push
Risk
Needs review
License is unclear
GitHub quality
2
61/100 Quality · 64/100 Trust
Coverage tags
Review notes
License is unclear · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
2 GitHub stars
Repo activity
2 stars, 1 forks
Maintenance
7d since push
License
Unknown
Install
npx skills add sasjs/skills --skill sas
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add sasjs/skills --skill sasDo not use when
Alternative
40.4K Stars
npx skills add PatrickJS/awesome-cursorrules
Alternative
246.3K Stars
npx skills add affaan-m/ECC --skill agent-introspection-debugging
Alternative
639 Stars
npx skills add sandbaseai/sandbase-harness --skill code-review
Alternative
11 Stars
npx skills add Bilalkhan4086/Skills-Learning
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
medium
Skill may inspect schemas, query databases, or work with persistent stores.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/sasjs-skills-sas/install
Agent should check
Copy prompt
Task: Use sas in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/sasjs-skills-sas/install
Install command: npx skills add sasjs/skills --skill sas
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/sasjs-skills-sas/install
LLM text format
/api/skills/sasjs-skills-sas/install?format=text
Find alternatives
/api/skills/search?q=sas&limit=3
Agent prompt
Use sas for this task. Review https://www.openagentskill.com/api/skills/sasjs-skills-sas/install, then install with: npx skills add sasjs/skills --skill sasRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/sasjs-skills-sas
LLM text
/api/registry/manifest/sasjs-skills-sas?format=text
Install alias
/api/registry/install/sasjs-skills-sas
Recommend
/api/registry/recommend?task=Use%20sas%20in%20an%20agent%20workflow&limit=3
Agent fit
Coding agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Coding agents
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
FIX2 GitHub stars
Stars/forks activity
FIX2 stars, 1 forks; issue activity unavailable in current metadata
Recent maintenance
PASS7d since push
License clarity
CHECKUnknown
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
A curated collection of cursor rules for various frameworks and technologies
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
--- name: sas description: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. ---
# SAS Language
Write idiomatic, production-quality SAS code. This skill covers the SAS language itself, independent of any framework.
## Scope
- DATA step programming (SET/MERGE/BY, RETAIN, arrays, DO loops, hash objects, first./last. processing) - PROC SQL (joins, subqueries, views, pass-through with CONNECT TO) - Macro language (%macro/%mend, macro variables, %local/%global, conditional %IF logic, quoting functions %STR/%NRSTR/%BQUOTE, CALL SYMPUTX) - Common PROCs: SORT, MEANS/SUMMARY, FREQ, TRANSPOSE, REPORT, PRINT, CONTENTS, DATASETS, FORMAT, IMPORT/EXPORT - Formats and informats (user-defined via PROC FORMAT, picture formats) - ODS output (HTML, PDF, RTF, Excel, OUTPUT destination) - File I/O: LIBNAME, FILENAME, INFILE/INPUT, FILE/PUT
## Non-negotiable: no WARNINGs
Generated SAS code must run cleanly — **zero WARNINGs (and zero ERRORs) in the log**. Treat every `WARNING:` as a defect: uninitialized variables, implicit type conversions, truncation notes that should be warnings, "no observations", unresolved macro references, etc. If a warning is truly unavoidable, suppress it deliberately (e.g. an explicit option) and comment why. Likewise avoid superfluous NOTEs where reasonable.
## Style rules
These follow the @sasjs/core coding standards — apply them to all SAS code:
- One statement per line; indentation = 2 spaces, no tabs, no trailing whitespace - Lines no longer than 80 characters; unix (LF) line endings; UTF-8 - Avoid non-ASCII / special characters entirely — maximum compatibility across SAS installations and encodings - Always end steps with `run;`; for `proc sql` (and CAS-connected procs) `quit;` is essential to avoid `WARNING: You cannot disconnect or terminate session ...` on Viya - All dataset references must be 2-level (`work.blah`, not `blah`) — protects against `DATASTMTCHK=ALLKEYWORDS` and an active `USER` library - Explicit `length` / `attrib` for character variables rather than relying on defaults (avoids implicit length=8 truncation) - Use literal suffixes for clarity (`'01JAN2020'd`, `'12:30't`) - Prefer `proc sort` with `nodupkey` over manual dedup logic - Macros: - Define with parentheses, even with no parameters: `%macro x();` not `%macro x;` - Closing `%mend;` must repeat the macro name - Macro calls are not terminated with a semicolon: `%my_macro()` not `%my_macro();` - Mandatory parameters positional; optional parameters keyword (`var=`) style - Macro names lowercase, verb-noun convention - Macro variables without trailing dot (`&var` not `&var.`) unless needed to prevent incorrect resolution - Macro variable NAMES are case-insensitive: `&Foo`, `&FOO`, and `&foo` all resolve to the same symbol (same for `%symexist`/`%superq`/`symget` arguments, which take a NAME not a value). Don't chase case mismatches as a bug — it's never the cause. - ALL macro variables must be `%local` unless deliberately global (globals should use an application prefix to avoid collisions); use `call symputx` (not `symput`) in DATA steps - Comment with `/* */` inside macros (asterisk comments are compiled into the macro) - Guard macro logic with `%length(&var)=0` checks rather than `&var=` (empty comparisons are unsafe) - Avoid naming collisions: use `%sysfunc`-/`&syslast`-based work tables (e.g. `data &output; set &syslast; run;`) rather than hard-coded names - No open (non-macro) conditional code: wrap platform-branching or conditionally-executed blocks (e.g. `%if %mf_getplatform()=VIYA %then %do; ... %end;`) in a `%macro ... %mend` and invoke the macro. Open `%if` at program level fails in some execution contexts (job/scheduler/test harnesses) and hides scope leaks.
## Portability awareness
- Note when code differs between SAS 9.4 and Viya (e.g. CAS actions vs procs, `proc casutil` for sashdat loading, no X command on locked-down servers) - Avoid hard-coded physical paths and engine-specific options unless asked - No open macro code with if/else logic: wrap branching blocks in `%macro ... %mend` and call them — open `%if`/`%else` does not behave as expected in all SAS environments.
## Common pitfalls to flag when reviewing
- Unintended many-to-many MERGEs - Automatic variable `_ERROR_` / implicit RETAIN surprises - Macro timing issues: referencing `¯ovar` before it exists, `%if` evaluating data-step variables (use `if`/`symget` instead) - Automatic macro variables (`&syscc`, `&syswarningtext`, `&syserrortext`, `&sysdate`, `&sysuserid`, etc.) are READ-ONLY — attempting to overwrite them (e.g. `%let syswarningtext=;` or `call symput('syscc',...)`) raises `ERROR: Unable to assign value to a macro variable that is read only` (or similar). Never try to "clear" them. - Truncation from implicit length=8 on first assignment - `proc sql` cartesian product warnings
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
Early agent signal: 2 outcomes, 100% success, Agent Proven Score 60/100.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for sas, ready for a manual X post.
sas: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, forma... 2 stars https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x
Listing + install path for sas: https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x Install: npx skills add sasjs/skills --skill sas
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Community submitted listing is attributed to sasjs but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas/audit)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
Cursor Rules
A curated collection of cursor rules for various frameworks and technologies
40.4K Starsagent-introspection-debugging
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
246.3K Starscode-review
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
639 StarsSkills Learning
11 StarsDo not auto-install
Install targets
Codex install prompt
Install the "sas" agent skill from https://github.com/sasjs/skills/tree/main/sas. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"sasjs-skills-sas","task":"Install sas","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add sasjs/skills --skill sas
Maintenance
fresh
7d since push
Risk
Needs review
License is unclear
GitHub quality
2
61/100 Quality · 64/100 Trust
Coverage tags
Review notes
License is unclear · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
2 GitHub stars
Repo activity
2 stars, 1 forks
Maintenance
7d since push
License
Unknown
Install
npx skills add sasjs/skills --skill sas
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add sasjs/skills --skill sasDo not use when
Alternative
40.4K Stars
npx skills add PatrickJS/awesome-cursorrules
Alternative
246.3K Stars
npx skills add affaan-m/ECC --skill agent-introspection-debugging
Alternative
639 Stars
npx skills add sandbaseai/sandbase-harness --skill code-review
Alternative
11 Stars
npx skills add Bilalkhan4086/Skills-Learning
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
medium
Skill may inspect schemas, query databases, or work with persistent stores.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/sasjs-skills-sas/install
Agent should check
Copy prompt
Task: Use sas in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/sasjs-skills-sas/install
Install command: npx skills add sasjs/skills --skill sas
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/sasjs-skills-sas/install
LLM text format
/api/skills/sasjs-skills-sas/install?format=text
Find alternatives
/api/skills/search?q=sas&limit=3
Agent prompt
Use sas for this task. Review https://www.openagentskill.com/api/skills/sasjs-skills-sas/install, then install with: npx skills add sasjs/skills --skill sasRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/sasjs-skills-sas
LLM text
/api/registry/manifest/sasjs-skills-sas?format=text
Install alias
/api/registry/install/sasjs-skills-sas
Recommend
/api/registry/recommend?task=Use%20sas%20in%20an%20agent%20workflow&limit=3
Agent fit
Coding agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Coding agents
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
FIX2 GitHub stars
Stars/forks activity
FIX2 stars, 1 forks; issue activity unavailable in current metadata
Recent maintenance
PASS7d since push
License clarity
CHECKUnknown
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
A curated collection of cursor rules for various frameworks and technologies
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
--- name: sas description: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. ---
# SAS Language
Write idiomatic, production-quality SAS code. This skill covers the SAS language itself, independent of any framework.
## Scope
- DATA step programming (SET/MERGE/BY, RETAIN, arrays, DO loops, hash objects, first./last. processing) - PROC SQL (joins, subqueries, views, pass-through with CONNECT TO) - Macro language (%macro/%mend, macro variables, %local/%global, conditional %IF logic, quoting functions %STR/%NRSTR/%BQUOTE, CALL SYMPUTX) - Common PROCs: SORT, MEANS/SUMMARY, FREQ, TRANSPOSE, REPORT, PRINT, CONTENTS, DATASETS, FORMAT, IMPORT/EXPORT - Formats and informats (user-defined via PROC FORMAT, picture formats) - ODS output (HTML, PDF, RTF, Excel, OUTPUT destination) - File I/O: LIBNAME, FILENAME, INFILE/INPUT, FILE/PUT
## Non-negotiable: no WARNINGs
Generated SAS code must run cleanly — **zero WARNINGs (and zero ERRORs) in the log**. Treat every `WARNING:` as a defect: uninitialized variables, implicit type conversions, truncation notes that should be warnings, "no observations", unresolved macro references, etc. If a warning is truly unavoidable, suppress it deliberately (e.g. an explicit option) and comment why. Likewise avoid superfluous NOTEs where reasonable.
## Style rules
These follow the @sasjs/core coding standards — apply them to all SAS code:
- One statement per line; indentation = 2 spaces, no tabs, no trailing whitespace - Lines no longer than 80 characters; unix (LF) line endings; UTF-8 - Avoid non-ASCII / special characters entirely — maximum compatibility across SAS installations and encodings - Always end steps with `run;`; for `proc sql` (and CAS-connected procs) `quit;` is essential to avoid `WARNING: You cannot disconnect or terminate session ...` on Viya - All dataset references must be 2-level (`work.blah`, not `blah`) — protects against `DATASTMTCHK=ALLKEYWORDS` and an active `USER` library - Explicit `length` / `attrib` for character variables rather than relying on defaults (avoids implicit length=8 truncation) - Use literal suffixes for clarity (`'01JAN2020'd`, `'12:30't`) - Prefer `proc sort` with `nodupkey` over manual dedup logic - Macros: - Define with parentheses, even with no parameters: `%macro x();` not `%macro x;` - Closing `%mend;` must repeat the macro name - Macro calls are not terminated with a semicolon: `%my_macro()` not `%my_macro();` - Mandatory parameters positional; optional parameters keyword (`var=`) style - Macro names lowercase, verb-noun convention - Macro variables without trailing dot (`&var` not `&var.`) unless needed to prevent incorrect resolution - Macro variable NAMES are case-insensitive: `&Foo`, `&FOO`, and `&foo` all resolve to the same symbol (same for `%symexist`/`%superq`/`symget` arguments, which take a NAME not a value). Don't chase case mismatches as a bug — it's never the cause. - ALL macro variables must be `%local` unless deliberately global (globals should use an application prefix to avoid collisions); use `call symputx` (not `symput`) in DATA steps - Comment with `/* */` inside macros (asterisk comments are compiled into the macro) - Guard macro logic with `%length(&var)=0` checks rather than `&var=` (empty comparisons are unsafe) - Avoid naming collisions: use `%sysfunc`-/`&syslast`-based work tables (e.g. `data &output; set &syslast; run;`) rather than hard-coded names - No open (non-macro) conditional code: wrap platform-branching or conditionally-executed blocks (e.g. `%if %mf_getplatform()=VIYA %then %do; ... %end;`) in a `%macro ... %mend` and invoke the macro. Open `%if` at program level fails in some execution contexts (job/scheduler/test harnesses) and hides scope leaks.
## Portability awareness
- Note when code differs between SAS 9.4 and Viya (e.g. CAS actions vs procs, `proc casutil` for sashdat loading, no X command on locked-down servers) - Avoid hard-coded physical paths and engine-specific options unless asked - No open macro code with if/else logic: wrap branching blocks in `%macro ... %mend` and call them — open `%if`/`%else` does not behave as expected in all SAS environments.
## Common pitfalls to flag when reviewing
- Unintended many-to-many MERGEs - Automatic variable `_ERROR_` / implicit RETAIN surprises - Macro timing issues: referencing `¯ovar` before it exists, `%if` evaluating data-step variables (use `if`/`symget` instead) - Automatic macro variables (`&syscc`, `&syswarningtext`, `&syserrortext`, `&sysdate`, `&sysuserid`, etc.) are READ-ONLY — attempting to overwrite them (e.g. `%let syswarningtext=;` or `call symput('syscc',...)`) raises `ERROR: Unable to assign value to a macro variable that is read only` (or similar). Never try to "clear" them. - Truncation from implicit length=8 on first assignment - `proc sql` cartesian product warnings
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
Early agent signal: 2 outcomes, 100% success, Agent Proven Score 60/100.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for sas, ready for a manual X post.
sas: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, forma... 2 stars https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x
Listing + install path for sas: https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x Install: npx skills add sasjs/skills --skill sas
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Community submitted listing is attributed to sasjs but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas/audit)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
Cursor Rules
A curated collection of cursor rules for various frameworks and technologies
40.4K Starsagent-introspection-debugging
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
246.3K Starscode-review
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
639 StarsSkills Learning
11 StarsDo not auto-install
Install targets
Codex install prompt
Install the "sas" agent skill from https://github.com/sasjs/skills/tree/main/sas. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"sasjs-skills-sas","task":"Install sas","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add sasjs/skills --skill sas
Maintenance
fresh
7d since push
Risk
Needs review
License is unclear
GitHub quality
2
61/100 Quality · 64/100 Trust
Coverage tags
Review notes
License is unclear · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
2 GitHub stars
Repo activity
2 stars, 1 forks
Maintenance
7d since push
License
Unknown
Install
npx skills add sasjs/skills --skill sas
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add sasjs/skills --skill sasDo not use when
Alternative
40.4K Stars
npx skills add PatrickJS/awesome-cursorrules
Alternative
246.3K Stars
npx skills add affaan-m/ECC --skill agent-introspection-debugging
Alternative
639 Stars
npx skills add sandbaseai/sandbase-harness --skill code-review
Alternative
11 Stars
npx skills add Bilalkhan4086/Skills-Learning
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
medium
Skill may inspect schemas, query databases, or work with persistent stores.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/sasjs-skills-sas/install
Agent should check
Copy prompt
Task: Use sas in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/sasjs-skills-sas/install
Install command: npx skills add sasjs/skills --skill sas
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/sasjs-skills-sas/install
LLM text format
/api/skills/sasjs-skills-sas/install?format=text
Find alternatives
/api/skills/search?q=sas&limit=3
Agent prompt
Use sas for this task. Review https://www.openagentskill.com/api/skills/sasjs-skills-sas/install, then install with: npx skills add sasjs/skills --skill sasRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/sasjs-skills-sas
LLM text
/api/registry/manifest/sasjs-skills-sas?format=text
Install alias
/api/registry/install/sasjs-skills-sas
Recommend
/api/registry/recommend?task=Use%20sas%20in%20an%20agent%20workflow&limit=3
Agent fit
Coding agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Coding agents
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
FIX2 GitHub stars
Stars/forks activity
FIX2 stars, 1 forks; issue activity unavailable in current metadata
Recent maintenance
PASS7d since push
License clarity
CHECKUnknown
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
A curated collection of cursor rules for various frameworks and technologies
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
--- name: sas description: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. ---
# SAS Language
Write idiomatic, production-quality SAS code. This skill covers the SAS language itself, independent of any framework.
## Scope
- DATA step programming (SET/MERGE/BY, RETAIN, arrays, DO loops, hash objects, first./last. processing) - PROC SQL (joins, subqueries, views, pass-through with CONNECT TO) - Macro language (%macro/%mend, macro variables, %local/%global, conditional %IF logic, quoting functions %STR/%NRSTR/%BQUOTE, CALL SYMPUTX) - Common PROCs: SORT, MEANS/SUMMARY, FREQ, TRANSPOSE, REPORT, PRINT, CONTENTS, DATASETS, FORMAT, IMPORT/EXPORT - Formats and informats (user-defined via PROC FORMAT, picture formats) - ODS output (HTML, PDF, RTF, Excel, OUTPUT destination) - File I/O: LIBNAME, FILENAME, INFILE/INPUT, FILE/PUT
## Non-negotiable: no WARNINGs
Generated SAS code must run cleanly — **zero WARNINGs (and zero ERRORs) in the log**. Treat every `WARNING:` as a defect: uninitialized variables, implicit type conversions, truncation notes that should be warnings, "no observations", unresolved macro references, etc. If a warning is truly unavoidable, suppress it deliberately (e.g. an explicit option) and comment why. Likewise avoid superfluous NOTEs where reasonable.
## Style rules
These follow the @sasjs/core coding standards — apply them to all SAS code:
- One statement per line; indentation = 2 spaces, no tabs, no trailing whitespace - Lines no longer than 80 characters; unix (LF) line endings; UTF-8 - Avoid non-ASCII / special characters entirely — maximum compatibility across SAS installations and encodings - Always end steps with `run;`; for `proc sql` (and CAS-connected procs) `quit;` is essential to avoid `WARNING: You cannot disconnect or terminate session ...` on Viya - All dataset references must be 2-level (`work.blah`, not `blah`) — protects against `DATASTMTCHK=ALLKEYWORDS` and an active `USER` library - Explicit `length` / `attrib` for character variables rather than relying on defaults (avoids implicit length=8 truncation) - Use literal suffixes for clarity (`'01JAN2020'd`, `'12:30't`) - Prefer `proc sort` with `nodupkey` over manual dedup logic - Macros: - Define with parentheses, even with no parameters: `%macro x();` not `%macro x;` - Closing `%mend;` must repeat the macro name - Macro calls are not terminated with a semicolon: `%my_macro()` not `%my_macro();` - Mandatory parameters positional; optional parameters keyword (`var=`) style - Macro names lowercase, verb-noun convention - Macro variables without trailing dot (`&var` not `&var.`) unless needed to prevent incorrect resolution - Macro variable NAMES are case-insensitive: `&Foo`, `&FOO`, and `&foo` all resolve to the same symbol (same for `%symexist`/`%superq`/`symget` arguments, which take a NAME not a value). Don't chase case mismatches as a bug — it's never the cause. - ALL macro variables must be `%local` unless deliberately global (globals should use an application prefix to avoid collisions); use `call symputx` (not `symput`) in DATA steps - Comment with `/* */` inside macros (asterisk comments are compiled into the macro) - Guard macro logic with `%length(&var)=0` checks rather than `&var=` (empty comparisons are unsafe) - Avoid naming collisions: use `%sysfunc`-/`&syslast`-based work tables (e.g. `data &output; set &syslast; run;`) rather than hard-coded names - No open (non-macro) conditional code: wrap platform-branching or conditionally-executed blocks (e.g. `%if %mf_getplatform()=VIYA %then %do; ... %end;`) in a `%macro ... %mend` and invoke the macro. Open `%if` at program level fails in some execution contexts (job/scheduler/test harnesses) and hides scope leaks.
## Portability awareness
- Note when code differs between SAS 9.4 and Viya (e.g. CAS actions vs procs, `proc casutil` for sashdat loading, no X command on locked-down servers) - Avoid hard-coded physical paths and engine-specific options unless asked - No open macro code with if/else logic: wrap branching blocks in `%macro ... %mend` and call them — open `%if`/`%else` does not behave as expected in all SAS environments.
## Common pitfalls to flag when reviewing
- Unintended many-to-many MERGEs - Automatic variable `_ERROR_` / implicit RETAIN surprises - Macro timing issues: referencing `¯ovar` before it exists, `%if` evaluating data-step variables (use `if`/`symget` instead) - Automatic macro variables (`&syscc`, `&syswarningtext`, `&syserrortext`, `&sysdate`, `&sysuserid`, etc.) are READ-ONLY — attempting to overwrite them (e.g. `%let syswarningtext=;` or `call symput('syscc',...)`) raises `ERROR: Unable to assign value to a macro variable that is read only` (or similar). Never try to "clear" them. - Truncation from implicit length=8 on first assignment - `proc sql` cartesian product warnings
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
Early agent signal: 2 outcomes, 100% success, Agent Proven Score 60/100.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for sas, ready for a manual X post.
sas: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, forma... 2 stars https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x
Listing + install path for sas: https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x Install: npx skills add sasjs/skills --skill sas
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Community submitted listing is attributed to sasjs but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas/audit)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
Cursor Rules
A curated collection of cursor rules for various frameworks and technologies
40.4K Starsagent-introspection-debugging
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
246.3K Starscode-review
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
639 StarsSkills Learning
11 StarsDo not auto-install
Install targets
Codex install prompt
Install the "sas" agent skill from https://github.com/sasjs/skills/tree/main/sas. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"sasjs-skills-sas","task":"Install sas","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.
Scenario
Coding agents
I need a coding agent that can understand a repository, edit code, and review pull requests.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add sasjs/skills --skill sas
Maintenance
fresh
7d since push
Risk
Needs review
License is unclear
GitHub quality
2
61/100 Quality · 64/100 Trust
Coverage tags
Review notes
License is unclear · Permission surface may require sandboxing
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
PromisingUseful candidate, but compare it with alternatives before adopting.
Trust
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
2 GitHub stars
Repo activity
2 stars, 1 forks
Maintenance
7d since push
License
Unknown
Install
npx skills add sasjs/skills --skill sas
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add sasjs/skills --skill sasDo not use when
Alternative
40.4K Stars
npx skills add PatrickJS/awesome-cursorrules
Alternative
246.3K Stars
npx skills add affaan-m/ECC --skill agent-introspection-debugging
Alternative
639 Stars
npx skills add sandbaseai/sandbase-harness --skill code-review
Alternative
11 Stars
npx skills add Bilalkhan4086/Skills-Learning
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
medium
Skill may inspect schemas, query databases, or work with persistent stores.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/sasjs-skills-sas/install
Agent should check
Copy prompt
Task: Use sas in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20sas%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/sasjs-skills-sas/install
Install command: npx skills add sasjs/skills --skill sas
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/sasjs-skills-sas/install
LLM text format
/api/skills/sasjs-skills-sas/install?format=text
Find alternatives
/api/skills/search?q=sas&limit=3
Agent prompt
Use sas for this task. Review https://www.openagentskill.com/api/skills/sasjs-skills-sas/install, then install with: npx skills add sasjs/skills --skill sasRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/sasjs-skills-sas
LLM text
/api/registry/manifest/sasjs-skills-sas?format=text
Install alias
/api/registry/install/sasjs-skills-sas
Recommend
/api/registry/recommend?task=Use%20sas%20in%20an%20agent%20workflow&limit=3
Agent fit
Coding agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Prototype with this skill first; keep a fallback candidate ready.
Role in stack
Fallback candidate
Primary fit
Coding agents
Trust label
Prototype first
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub adoption
FIX2 GitHub stars
Stars/forks activity
FIX2 stars, 1 forks; issue activity unavailable in current metadata
Recent maintenance
PASS7d since push
License clarity
CHECKUnknown
Good signals
Review before install
Recommended action
Choose a stronger alternative or inspect the source manually before any install attempt.
Quality profile
Useful candidate, but compare it with alternatives before adopting.
Workflow fit
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
A curated collection of cursor rules for various frameworks and technologies
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
--- name: sas description: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, formats, ODS, and common procedures. Pure SAS syntax only, no SASjs-framework content. Use when writing, reviewing, or debugging .sas programs, or answering SAS language questions. ---
# SAS Language
Write idiomatic, production-quality SAS code. This skill covers the SAS language itself, independent of any framework.
## Scope
- DATA step programming (SET/MERGE/BY, RETAIN, arrays, DO loops, hash objects, first./last. processing) - PROC SQL (joins, subqueries, views, pass-through with CONNECT TO) - Macro language (%macro/%mend, macro variables, %local/%global, conditional %IF logic, quoting functions %STR/%NRSTR/%BQUOTE, CALL SYMPUTX) - Common PROCs: SORT, MEANS/SUMMARY, FREQ, TRANSPOSE, REPORT, PRINT, CONTENTS, DATASETS, FORMAT, IMPORT/EXPORT - Formats and informats (user-defined via PROC FORMAT, picture formats) - ODS output (HTML, PDF, RTF, Excel, OUTPUT destination) - File I/O: LIBNAME, FILENAME, INFILE/INPUT, FILE/PUT
## Non-negotiable: no WARNINGs
Generated SAS code must run cleanly — **zero WARNINGs (and zero ERRORs) in the log**. Treat every `WARNING:` as a defect: uninitialized variables, implicit type conversions, truncation notes that should be warnings, "no observations", unresolved macro references, etc. If a warning is truly unavoidable, suppress it deliberately (e.g. an explicit option) and comment why. Likewise avoid superfluous NOTEs where reasonable.
## Style rules
These follow the @sasjs/core coding standards — apply them to all SAS code:
- One statement per line; indentation = 2 spaces, no tabs, no trailing whitespace - Lines no longer than 80 characters; unix (LF) line endings; UTF-8 - Avoid non-ASCII / special characters entirely — maximum compatibility across SAS installations and encodings - Always end steps with `run;`; for `proc sql` (and CAS-connected procs) `quit;` is essential to avoid `WARNING: You cannot disconnect or terminate session ...` on Viya - All dataset references must be 2-level (`work.blah`, not `blah`) — protects against `DATASTMTCHK=ALLKEYWORDS` and an active `USER` library - Explicit `length` / `attrib` for character variables rather than relying on defaults (avoids implicit length=8 truncation) - Use literal suffixes for clarity (`'01JAN2020'd`, `'12:30't`) - Prefer `proc sort` with `nodupkey` over manual dedup logic - Macros: - Define with parentheses, even with no parameters: `%macro x();` not `%macro x;` - Closing `%mend;` must repeat the macro name - Macro calls are not terminated with a semicolon: `%my_macro()` not `%my_macro();` - Mandatory parameters positional; optional parameters keyword (`var=`) style - Macro names lowercase, verb-noun convention - Macro variables without trailing dot (`&var` not `&var.`) unless needed to prevent incorrect resolution - Macro variable NAMES are case-insensitive: `&Foo`, `&FOO`, and `&foo` all resolve to the same symbol (same for `%symexist`/`%superq`/`symget` arguments, which take a NAME not a value). Don't chase case mismatches as a bug — it's never the cause. - ALL macro variables must be `%local` unless deliberately global (globals should use an application prefix to avoid collisions); use `call symputx` (not `symput`) in DATA steps - Comment with `/* */` inside macros (asterisk comments are compiled into the macro) - Guard macro logic with `%length(&var)=0` checks rather than `&var=` (empty comparisons are unsafe) - Avoid naming collisions: use `%sysfunc`-/`&syslast`-based work tables (e.g. `data &output; set &syslast; run;`) rather than hard-coded names - No open (non-macro) conditional code: wrap platform-branching or conditionally-executed blocks (e.g. `%if %mf_getplatform()=VIYA %then %do; ... %end;`) in a `%macro ... %mend` and invoke the macro. Open `%if` at program level fails in some execution contexts (job/scheduler/test harnesses) and hides scope leaks.
## Portability awareness
- Note when code differs between SAS 9.4 and Viya (e.g. CAS actions vs procs, `proc casutil` for sashdat loading, no X command on locked-down servers) - Avoid hard-coded physical paths and engine-specific options unless asked - No open macro code with if/else logic: wrap branching blocks in `%macro ... %mend` and call them — open `%if`/`%else` does not behave as expected in all SAS environments.
## Common pitfalls to flag when reviewing
- Unintended many-to-many MERGEs - Automatic variable `_ERROR_` / implicit RETAIN surprises - Macro timing issues: referencing `¯ovar` before it exists, `%if` evaluating data-step variables (use `if`/`symget` instead) - Automatic macro variables (`&syscc`, `&syswarningtext`, `&syserrortext`, `&sysdate`, `&sysuserid`, etc.) are READ-ONLY — attempting to overwrite them (e.g. `%let syswarningtext=;` or `call symput('syscc',...)`) raises `ERROR: Unable to assign value to a macro variable that is read only` (or similar). Never try to "clear" them. - Truncation from implicit length=8 on first assignment - `proc sql` cartesian product warnings
Decision snapshot
recent repository activity
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
Early agent signal: 2 outcomes, 100% success, Agent Proven Score 60/100.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for sas, ready for a manual X post.
sas: Expert guidance for the SAS programming language — DATA step, PROC SQL, macro language, forma... 2 stars https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x
Listing + install path for sas: https://www.openagentskill.com/skills/sasjs-skills-sas?ref=x Install: npx skills add sasjs/skills --skill sas
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Community submitted listing is attributed to sasjs but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/sasjs-skills-sas/audit)
[](https://www.openagentskill.com/skills/sasjs-skills-sas?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Do not auto-install
Cursor Rules
A curated collection of cursor rules for various frameworks and technologies
40.4K Starsagent-introspection-debugging
Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.
246.3K Starscode-review
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it
639 StarsSkills Learning
11 StarsPermission surface
shell or command execution, filesystem or document access
Agent outcomes
Early agent signal: 100% success from 2 agent outcomes
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
Early agent signal: 100% success from 2 agent outcomes
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
Early agent signal: 100% success from 2 agent outcomes
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
Early agent signal: 100% success from 2 agent outcomes
Docs
Strong README/SKILL.md context
Risk summary
Install readiness