AgentStack
SKILL verified MIT Self-run

Revit Context Access

skill-nice3point-revit-skills-revit-context-access · by Nice3point

>

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-nice3point-revit-skills-revit-context-access

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Revit Context Access? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Revit Context Access

RevitApiContext.Application exposes the database-level Revit application for tests and Design Automation, where a UI session is unavailable. RevitContext adds UI-session access to the active application, document, and view, plus bounded dialog suppression.

Use RevitApiContext for database-level access and failure suppression. Use RevitContext only when a UI session is available.

When to use

  • Reading the database-level Application in a test or Design Automation.
  • Reading the active document, UI application, or view from a service, helper, or window in a UI session.
  • Suppressing predictable dialogs for a bounded operation.

When not to use

  • Inside an external command or application, where the base class already exposes the context — use revit-command-and-application.
  • Accessing Revit from a test or Design Automation through UI types — use RevitApiContext.Application.
  • Suppressing failures or warnings during a transaction — use RevitApiContext.BeginFailureSuppressionScope.

Workflow

Step 1: Read database-level context without a UI session

Use RevitApiContext.Application in tests and Design Automation.

var application = RevitApiContext.Application;

Step 2: Read UI-session context

var uiApplication = RevitContext.UiApplication;
var document = RevitContext.ActiveDocument;
var view = RevitContext.ActiveView;

Step 3: Suppress dialogs for a bounded operation

using (RevitContext.BeginDialogSuppressionScope(TaskDialogResult.Ok))
{
    LoadFamilies();
}

Overloads accept a result code, a TaskDialogResult, a MessageBoxResult, or a custom handler that overrides the result.

Step 4: Verify

Confirm database-only code accesses RevitApiContext.Application, UI-session code reads the expected active document, and a suppressed dialog no longer blocks the operation.

Validation

  • [ ] Tests and Design Automation access the database-level application through RevitApiContext.Application.
  • [ ] UI-session access uses RevitContext, and nullable reads (ActiveDocument, ActiveView) are guarded.
  • [ ] Dialog suppression is scoped to the operation that raises the dialog.

Common Pitfalls

| Pitfall | Correct approach | |-------------------------------------------------------|--------------------------------------------------------------------------------| | Using RevitContext in a test or Design Automation | Use RevitApiContext.Application; it does not require a UI session. | | Assuming RevitContext.ActiveDocument is non-null | It is nullable; guard when no document is open. | | Suppressing a transaction failure with a dialog scope | Use RevitApiContext.BeginFailureSuppressionScope. | | RevitContext not found | The Nice3point.Revit.Toolkit package is not referenced. |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.